The present invention relates to data processing systems, and more particularly, to a methodology and structure for accessing individual elements of an archived object-oriented object.
Over the past few years, constructing applications by assembling reusable software components has emerged as a highly productive and widely accepted way to develop custom applications. First generation products such as Microsoft""s Visual Basic, with its VBX components and xe2x80x9cforms-basedxe2x80x9d applications assembly process proved to be very useful in building a broad spectrum of applications. Visual Basic has been followed by other products such as Borland""s Delphi, which further enhanced the basic component assembly application development model by adding more powerful data access components and object-oriented component extension capabilities.
The release of a windowing system, Internet protocol and platform independent product named Java represented an even further advance. Java represents an object-oriented language which satisfies the public""s desire to animate and add dynamism to the static web pages of the Internet. More importantly, Java""s platform independence levels the playing field for software vendors, enabling them to escape the dominance of a single supplier. Java permits writing to a virtual platform which is installed on most desktop web browsers. System managers have quickly recognized the advantage of a single master copy of programs that are stored in one place, ideal for easy update, that downloads to the client for the duration of the session, thus exploiting the users desktop processor in a client/server model but without the client side maintenance and version control costs. For details and background with respect to the Java System, reference may be made to a typical text, xe2x80x9cJust Javaxe2x80x9d, 2nd Edition, Peter van der Linden, Sun Microsystems, 1997.
More recently, the introduction of Java Beans has taken the component software assembly paradigm to a new level. Java Beans is an architecture and platform-neutral Application Programming Interface (API) for creating and using dynamic Java components. Java Beans and their common properties and functions are described in detail in the text, xe2x80x9cJavaxe2x80x9d in a xe2x80x9cNutshellxe2x80x9d, 2nd. Edition, David Flanagan, O""Reilly and Assoc. Inc., 1997. Java Beans enhance the Java platform by allowing richer, more dynamic interaction. Java Beans allow developers to define independent components that can be used and re-used in a variety of combinations to compose new applications inside a variety of browser and non-browser environments. Java Beans components can be GUI widgets, non-visual functions and services, applets and more full-scale applications. Each of these components can be built by different developers at separate times. Java Beans components do not need to be part of the same application build because they are capable of communicating dynamically.
Java employs a platform independent file format that concatenates and compresses many Java class, image and audio files into one file called a JAR (Java ARchive) file. One of the main attributes of the JAR file design is to reduce the number of HTTP (HyperText Transfer Protocol) connections that need to be opened, thus reducing download times. Each entry in a JAR file can be individually digitally signed for authentication, if desired. The file format is the popular ZIP format and can be used as a general archiving tool. Java Beans can be moved around in xe2x80x9cbulkxe2x80x9d using the JAR file.
However, some applications require the ability to manipulate Java Beans with a finer granularity. For example, an interactive Java Bean development environment needs to be able to examine, add, change or delete individual elements that make up a Java Bean. Builder tools, for example, need to compose Customizer classes for the Java Beans. Other tools need to create icons or other data for the beans. Translation services will wish to add translated or locale-specific property files associated with the Java Bean. For some customers, the source code of the Java Bean might be included within the JAR file. Consequently, it would be desirable to provide a methodology and structure for examining, adding, changing, deleting, etc. the elements constituting a Java Bean.
This invention relates to a method and structure for a general container mechanism for storage of Java Beans. A repository is created for a persistent collection of items called ManagedBeans. Each ManagedBean contains a structured collection of code and data that makes up a Java Bean. The structured collection consists of items called ManagedBean Elements (MBE) which correspond to different types of code and data. Each ManagedBean Element is a subclass of the generic ManagedBean Element class. Each subclass identifies the different kinds of Bean subelements and contains the data contained in the corresponding file, and the methods that work on this data. All MBEs provide standard operations, such as obtaining the type of element, obtaining the object in a polymorphic manner, writing the object to a repository, revising the object in a repository, changing properties of the object, and changing the association of the Managed Bean from one repository to another. In addition, each subclass provides operations that allow for the return of the element as a live Java object, in the same manner that a handle or object reference class returns an object instance.